System and method of on-site documentation enhancement through augmented reality

ABSTRACT

Technical solutions are described for generating an augmented reality map of an environment. An example method includes obtaining, by a 2D scanner, a 2D scan set including 2D coordinates of points in the environment. The method further includes capturing and displaying, by a portable computing device, a live video stream of a field of view, the portable computing device being fixed at a relative position with respect to the 2D scanner. The method further includes displaying a selection marker overlaid on the live video stream at a location in response to a user input. The method further includes projecting a beam of visible light on an object point in the field of view, corresponding to the location on the display of the selection marker. The method further includes receiving, via the portable computing device, a selection input and in response generating and storing an annotation at the object point.

BACKGROUND

The present application is directed to enhancing on-site documentationof an environment through augmented reality, the on-site documentationbeing created using a captured point cloud of the environment.

The automated creation of digital two-dimensional floorplans forexisting structures is desirable as it allows the size and shape of theenvironment to be used in many processes. For example, a floorplan maybe desirable to allow construction drawings to be prepared during arenovation. Such floorplans may find other uses such as in documenting abuilding for a fire department or to document a crime scene.

Existing measurement systems typically use a scanning device thatdetermines coordinates of surfaces in the environment either, byemitting a light and capturing a reflection to determine a distance, orby triangulation using cameras. These scanning device are mounted to amovable structure, such as a cart, and moved through the building togenerate a digital representation of the building. These systems tend tobe more complex and require specialized personnel to perform the scan.Further, the scanning equipment including the movable structure may bebulky, which could further delay the scanning process in time sensitivesituations, such as a crime or accident scene investigation.

Accordingly, while existing scanners are suitable for their intendedpurposes, what is needed is a system for having certain features ofembodiments of the present invention.

BRIEF DESCRIPTION

According to one aspect of the invention, a system of generating anaugmented reality map of an environment is provided. The system includesa housing having a body and a handle, the housing being sized to becarried by a single person during operation, the body having a firstplane extending therethrough. The system further includes a 2D scannerdisposed in the body and having a light source, an image sensor and acontroller, the light source steers a beam of light within the firstplane to illuminate object points in the environment, the image sensoris arranged to receive light reflected from the object points, thecontroller being operable to determine a first distance value to atleast one of the object points. The system further includes an imagecapture device positioned at a fixed position with respect to the 2Dscanner, a first field of view of the image capture device overlappingat least a portion of a second field of view of the 2D scanner. Thesystem further includes one or more processors operably coupled to the2D scanner and the image capture device, the one or more processorsbeing responsive to executable instructions for generating a 2D map ofthe environment. The one or more processors display a live video streamof the first field of view as captured by the image capture device. Theprocessors further receive a selection of an object point in the livevideo stream. Further, the processors determine a second distance valueof from the 2D scanner to a position in the environment in response to auser input on the display, the second distance based at least in part ona first image from the live video stream and the first distance value,the position being outside of the first plane.

According to another aspect of the invention, a method for generating anaugmented reality map of an environment is provided. An example methodincludes obtaining, by a 2D scanner of a measurement device, a 2D scanset comprising 2D coordinates of points in the environment, the 2Dscanner is configured to sweep a beam of light in a plane. The methodfurther includes capturing and displaying, by a portable computingdevice of the measurement device, a live video stream of a field of viewof the measurement device, the portable computing device being fixed ata relative position with respect to the 2D scanner. The method furtherincludes displaying, on a display of the portable computing device, aselection marker overlaid on the live video stream at a location inresponse to a user input. The method further includes projecting, by aprojector of the measurement device, a beam of visible light on anobject point in the field of view, the object point corresponding to thelocation on the display of the selection marker. The method furtherincludes receiving, via the portable computing device, a selection inputand in response generating an annotation at the object point. The methodfurther includes storing the annotation in association with the 2Dcoordinates of the object point. The method further includes generatinga 2D image of the environment based at least in part on the 2D scan, the2D image including the annotation at the 2D coordinates of the objectpoint.

According to another aspect of the invention, a system of generating anaugmented reality map of an environment is provided. An example systemincludes one or more processors that receive, from a 2D scanner, a 2Dscan set of a field of view of the system, the 2D scan set comprising 2Dcoordinates of points in the environment. The one or more processorsfurther receive, from a portable computing device, a live video streamof the field of view. The one or more processors further calibrate afirst coordinate system of the 2D scan set with a second coordinatesystem of the live video stream. The one or more processors furtherreceive an annotation associated with a selection of a video-point inthe live video stream. The one or more processors further determine anobject point in the 2D scan set corresponding to the video-point. Theone or more processors further store the annotation associated with theobject point. The one or more processors further generate a 2D map ofthe environment using the 2D scan set, the 2D map including theannotation associated with the object point.

These and other advantages and features will become more apparent fromthe following description taken in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter, which is regarded as the invention, is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The foregoing and other features, and advantages ofthe invention are apparent from the following detailed description takenin conjunction with the accompanying drawings in which:

FIGS. 1-3 are perspective views of a scanning and mapping system inaccordance with an embodiment;

FIG. 4 is a first end view of the system of FIG. 1;

FIG. 5 is a side sectional view of the system of FIG. 1;

FIG. 6 is a second end view of the system of FIG. 1;

FIG. 7 is a top sectional view of the system of FIG. 1

FIG. 8 is an enlarged view of a portion of the second end of FIG. 6;

FIG. 9 is a schematic illustration of the system of FIG. 1 in accordancewith an embodiment;

FIGS. 10-12 are plan views of stages of a two-dimensional map generatedwith the method of FIG. 10 in accordance with an embodiment;

FIG. 13 depicts a system that generates a 2D map using augmented realityaccording to one or more embodiments;

FIG. 14-15 depict field of views of an image capture system and a pointscanner according to one or more embodiments;

FIG. 16 is a flow diagram of a method of generating a two-dimensionalmap with annotations in accordance with an embodiment;

FIG. 17 is a plan view of an annotated two-dimensional map generatedwith the method of FIG. 16 in accordance with an embodiment;

FIG. 18 is a flow diagram of a method of generating a two-dimensionalmap and a three-dimensional point cloud in accordance with anembodiment;

FIGS. 19-20 are views of annotated two-dimensional maps generated withthe method of FIG. 16 in accordance with an embodiment;

FIG. 21 is a flow diagram of a method of generating/viewing a 2D mapusing augmented reality according to one or more embodiments;

FIG. 22A, FIG. 22B, FIG. 22C, and FIG. 22D depict example views duringgenerating/viewing a 2D map using augmented reality according to one ormore embodiments;

FIG. 23 depicts example views during generating/viewing a 2D map usingaugmented reality according to one or more embodiments;

FIG. 24 is a flow diagram of a method of generating/viewing a 2D mapusing augmented reality according to one or more embodiments;

FIG. 25 depicts views of annotated two-dimensional maps generated inaccordance with one or more embodiments;

FIG. 26 is a flow diagram of a method of generating a two-dimensionalmap and a three-dimensional point cloud in accordance with anembodiment;

FIGS. 27-28 depict views of annotated two-dimensional maps generated inaccordance with one or more embodiments;

FIGS. 29-30 are views of a mobile mapping system in accordance with anembodiment;

FIG. 31 is a schematic illustration of a laser scanner and hand scannerfor the system of FIG. 29;

FIG. 32 is a schematic illustration of the operation of the system ofFIG. 29; and

FIG. 33 is a flow diagram of a method of operating the system of FIG.29.

The detailed description explains embodiments of the invention, togetherwith advantages and features, by way of example with reference to thedrawings.

DETAILED DESCRIPTION

The one or more embodiments of the present invention relate to a devicethat includes a system having a 2D scanner that works cooperatively withan inertial measurement unit to generate an annotated two-dimensionalmap (2D map) of an environment. Further, the one or more embodiments thesystem enhances the 2D map with additional information about on-sitedocumentation (e.g. 2D floor plans) during the creation as an overlayfor providing an augmented reality map. In one or more examples, theaugmented reality map can be viewed and/or interacted with via acomputing device such as a mobile phone, a tablet computer, mediadevice, or any other such computing devices. Further, in one or moreexamples, the augmented reality map can be viewed and/or interacted withvia a mixed reality device, or virtual reality device like HOLOLENS™,VIVE™, OCULUS™, and the like.

Referring now to FIGS. 1-7, an embodiment of a system 30 having ahousing 32 that includes a body portion 34 and a handle portion 36. Thehandle 36 may include an actuator 38 that allows the operator tointeract with the system 30. In the exemplary embodiment, the body 34includes a generally rectangular center portion 35 with a slot 40 formedin an end 42. The slot 40 is at least partially defined by a pair walls44, 46 that are angled towards a second end 48. As will be discussed inmore detail herein, a portion of a two-dimensional scanner 50 isarranged between the walls 44, 46. The walls 44, 46 are angled to allowthe scanner 50 to operate by emitting a light over a large angular areawithout interference from the walls 44, 46. As will be discussed in moredetail herein, the end 42 may further include a three-dimensional cameraor RGBD camera 60.

In the exemplary embodiment, the second end 48 is defined by asemi-cylindrical surface 52 and a pair of side walls 54. In anembodiment, the side walls 54 include a plurality of exhaust ventopenings 56. The exhaust vent openings 56 are fluidly coupled to intakevent openings 58 arranged on a bottom surface 62 of center portion 35.The intake vent openings 58 allow external air to enter a conduit 64having an opposite opening 66 (FIG. 5) in fluid communication with thehollow interior 67 of the body 34. In an embodiment, the opening 66 isarranged adjacent to a controller 68 which has one or more processorsthat is operable to perform the methods described herein. In anembodiment, the external air flows from the opening 66 over or aroundthe controller 68 and out the exhaust vent openings 56.

The controller 68 is coupled to a wall 70 of body 34. In an embodiment,the wall 70 is coupled to or integral with the handle 36. The controller68 is electrically coupled to the 2D scanner 50, the 3D camera 60, apower source 72, an inertial measurement unit (IMU) 74, a laser lineprojector 76, and a haptic feedback device 77.

Referring now to FIG. 9 with continuing reference to FIGS. 1-7, elementsare shown of the system 30. Controller 68 is a suitable electronicdevice capable of accepting data and instructions, executing theinstructions to process the data, and presenting the results. Thecontroller 68 includes one or more processing elements 78. Theprocessors may be microprocessors, field programmable gate arrays(FPGAs), digital signal processors (DSPs), and generally any devicecapable of performing computing functions. The one or more processors 78have access to memory 80 for storing information.

Controller 68 is capable of converting the analog voltage or currentlevel provided by 2D scanner 50, 3D camera 60 and IMU 74 into a digitalsignal to determine a distance from the system 30 to an object in theenvironment. Controller 68 uses the digital signals that act as input tovarious processes for controlling the system 30. The digital signalsrepresent one or more system 30 data including but not limited todistance to an object, images of the environment, acceleration, pitchorientation, yaw orientation and roll orientation.

In general, controller 68 accepts data from 2D scanner 50 and IMU 74 andis given certain instructions for the purpose of generating atwo-dimensional map of a scanned environment. Controller 68 providesoperating signals to the 2D scanner 50, the 3D camera 60, laser lineprojector 76 and haptic feedback device 77. Controller 68 also acceptsdata from IMU 74, indicating, for example, whether the operator isoperating in the system in the desired orientation. The controller 68compares the operational parameters to predetermined variances (e.g.yaw, pitch or roll thresholds) and if the predetermined variance isexceeded, generates a signal that activates the haptic feedback device77. The data received by the controller 68 may be displayed on a userinterface coupled to controller 68. The user interface may be one ormore LEDs (light-emitting diodes) 82, an LCD (liquid-crystal diode)display, a CRT (cathode ray tube) display, or the like. A keypad mayalso be coupled to the user interface for providing data input tocontroller 68. In one embodiment, the user interface is arranged orexecuted on a mobile computing device that is coupled for communication,such as via a wired or wireless communications medium (e.g. Ethernet,serial, USB, Bluetooth™ or WiFi) for example, to the system 30.

The controller 68 may also be coupled to external computer networks suchas a local area network (LAN) and the Internet. A LAN interconnects oneor more remote computers, which are configured to communicate withcontroller 68 using a well-known computer communications protocol suchas TCP/IP (Transmission Control Protocol/Internet({circumflex over ( )})Protocol), RS-232, ModBus, and the like. Additional systems 30 may alsobe connected to LAN with the controllers 68 in each of these systems 30being configured to send and receive data to and from remote computersand other systems 30. The LAN may be connected to the Internet. Thisconnection allows controller 68 to communicate with one or more remotecomputers connected to the Internet.

The processors 78 are coupled to memory 80. The memory 80 may includerandom access memory (RAM) device 84, a non-volatile memory (NVM) device86, a read-only memory (ROM) device 88. In addition, the processors 78may be connected to one or more input/output (I/O) controllers 90 and acommunications circuit 92. In an embodiment, the communications circuit92 provides an interface that allows wireless or wired communicationwith one or more external devices or networks, such as the LAN discussedabove.

Controller 68 includes operation control methods embodied in applicationcode shown in FIG. 16, FIG. 21, and FIG. 24. These methods are embodiedin computer instructions written to be executed by processors 78,typically in the form of software. The software can be encoded in anylanguage, including, but not limited to, assembly language, VHDL(Verilog Hardware Description Language), VHSIC HDL (Very High Speed ICHardware Description Language), Fortran (formula translation), C, C++,C#, Objective-C, Visual C++, Java, ALGOL (algorithmic language), BASIC(beginners all-purpose symbolic instruction code), visual BASIC,ActiveX, HTML (HyperText Markup Language), Python, Ruby and anycombination or derivative of at least one of the foregoing.

Coupled to the controller 68 is the 2D scanner 50. The 2D scanner 50measures 2D coordinates in a plane. In the exemplary embodiment, thescanning is performed by steering light within a plane to illuminateobject points in the environment. The 2D scanner 50 collects thereflected (scattered) light from the object points to determine 2Dcoordinates of the object points in the 2D plane. In an embodiment, the2D scanner 50 scans a spot of light over an angle while at the same timemeasuring an angle value and corresponding distance value to each of theilluminated object points.

Examples of 2D scanners 50 include, but are not limited to Model LMS100scanners manufactured by Sick, Inc of Minneapolis, Minn. and scannerModels URG-04LX-UG01 and UTM-30LX manufactured by Hokuyo Automatic Co.,Ltd of Osaka, Japan. The scanners in the Sick LMS100 family measureangles over a 270 degree range and over distances up to 20 meters. TheHoyuko model URG-04LX-UG01 is a low-cost 2D scanner that measures anglesover a 240 degree range and distances up to 4 meters. The Hoyuko modelUTM-30LX is a 2D scanner that measures angles over a 270 degree rangeand to distances up to 30 meters. It should be appreciated that theabove 2D scanners are exemplary and other types of 2D scanners are alsoavailable.

In an embodiment, the 2D scanner 50 is oriented so as to scan a beam oflight over a range of angles in a generally horizontal plane (relativeto the floor of the environment being scanned). At instants in time the2D scanner 50 returns an angle reading and a corresponding distancereading to provide 2D coordinates of object points in the horizontalplane. In completing one scan over the full range of angles, the 2Dscanner returns a collection of paired angle and distance readings. Asthe system 30 is moved from place to place, the 2D scanner 50 continuesto return 2D coordinate values. These 2D coordinate values are used tolocate the position of the system 30 thereby enabling the generation ofa two-dimensional map or floorplan of the environment.

Also coupled to the controller 86 is the IMU 74. The IMU 74 is aposition/orientation sensor that may include accelerometers 94(inclinometers), gyroscopes 96, a magnetometers or compass 98, andaltimeters. In the exemplary embodiment, the IMU 74 includes multipleaccelerometers 94 and gyroscopes 96. The compass 98 indicates a headingbased on changes in magnetic field direction relative to the earth'smagnetic north. The IMU 74 may further have an altimeter that indicatesaltitude (height). An example of a widely used altimeter is a pressuresensor. By combining readings from a combination of position/orientationsensors with a fusion algorithm that may include a Kalman filter,relatively accurate position and orientation measurements can beobtained using relatively low-cost sensor devices. In the exemplaryembodiment, the IMU 74 determines the pose or orientation of the system30 about three-axis to allow a determination of a yaw, roll and pitchparameter.

In embodiment, the system 30 further includes a 3D camera 60. As usedherein, the term 3D camera refers to a device that produces atwo-dimensional image that includes distances to a point in theenvironment from the location of system 30. The 3D camera 30 may be arange camera or a stereo camera. In an embodiment, the 3D camera 30includes an RGB-D sensor that combines color information with aper-pixel depth information. In an embodiment, the 3D camera 30 mayinclude an infrared laser projector 31 (FIG. 8), a left infrared camera33, a right infrared camera 39, and a color camera 37. In an embodiment,the 3D camera 60 is a RealSense™ camera model R200 manufactured by IntelCorporation.

In the exemplary embodiment, the system 30 is a handheld portable devicethat is sized and weighted to be carried by a single person duringoperation. Therefore, the plane 51 (FIG. 5) in which the 2D scanner 50projects a light beam may not be horizontal relative to the floor or maycontinuously change as the computer moves during the scanning process.Thus, the signals generated by the accelerometers 94, gyroscopes 96 andcompass 98 may be used to determine the pose (yaw, roll, tilt) of thesystem 30 and determine the orientation of the plane 51.

In an embodiment, it may be desired to maintain the pose of the system30 (and thus the plane 51) within predetermined thresholds relative tothe yaw, roll and pitch orientations of the system 30. In an embodiment,a haptic feedback device 77 is disposed within the housing 32, such asin the handle 36. The haptic feedback device 77 is a device that createsa force, vibration or motion that is felt or heard by the operator. Thehaptic feedback device 77 may be, but is not limited to: an eccentricrotating mass vibration motor or a linear resonant actuator for example.The haptic feedback device is used to alert the operator that theorientation of the light beam from 2D scanner 50 is equal to or beyond apredetermined threshold. In operation, when the IMU 74 measures an angle(yaw, roll, pitch or a combination thereof), the controller 68 transmitsa signal to a motor controller 100 that activates a vibration motor 102.Since the vibration originates in the handle 36, the operator will benotified of the deviation in the orientation of the system 30. Thevibration continues until the system 30 is oriented within thepredetermined threshold or the operator releases the actuator 38. In anembodiment, it is desired for the plane 51 to be within 10-15 degrees ofhorizontal (relative to the ground) about the yaw, roll and pitch axes.

In an embodiment, the 2D scanner 50 makes measurements as the system 30is moved about an environment, such as from a first position 104 to asecond registration position 106 as shown in FIG. 10. In an embodiment,2D scan data is collected and processed as the system 30 passes througha plurality of 2D measuring positions 108. At each measuring position108, the 2D scanner 50 collects 2D coordinate data over an effective FOV110. Using methods described in more detail below, the controller 86uses 2D scan data from the plurality of 2D scans at positions 108 todetermine a position and orientation of the system 30 as it is movedabout the environment. In an embodiment, the common coordinate system isrepresented by 2D Cartesian coordinates x, y and by an angle of rotationθrelative to the x or y axis. In an embodiment, the x and y axes lie inthe plane of the 2D scanner and may be further based on a direction of a“front” of the 2D scanner 50.

FIG. 11 shows the 2D system 30 collecting 2D scan data at selectedpositions 108 over an effective FOV 110. At different positions 108, the2D scanner 50 captures a portion of the object 112 marked A, B, C, D,and E. FIG. 11 shows 2D scanner 50 moving in time relative to a fixedframe of reference of the object 112.

FIG. 12 includes the same information as FIG. 11 but shows it from theframe of reference of the system 30 rather than the frame of referenceof the object 112. FIG. 12 illustrates that in the system 30 frame ofreference, the position of features on the object change over time.Therefore, the distance traveled by the system 30 can be determined fromthe 2D scan data sent from the 2D scanner 50 to the controller 86.

As the 2D scanner 50 takes successive 2D readings and performs best-fitcalculations, the controller 86 keeps track of the translation androtation of the 2D scanner 50, which is the same as the translation androtation of the system 30. In this way, the controller 86 is able toaccurately determine the change in the values of x, y, θ as the system30 moves from the first position 104 to the second position 106.

In an embodiment, the controller 86 is configured to determine a firsttranslation value, a second translation value, along with first andsecond rotation values (yaw, roll, pitch) that, when applied to acombination of the first 2D scan data and second 2D scan data, resultsin transformed first 2D data that closely matches transformed second 2Ddata according to an objective mathematical criterion. In general, thetranslation and rotation may be applied to the first scan data, thesecond scan data, or to a combination of the two. For example, atranslation applied to the first data set is equivalent to a negative ofthe translation applied to the second data set in the sense that bothactions produce the same match in the transformed data sets. An exampleof an “objective mathematical criterion” is that of minimizing the sumof squared residual errors for those portions of the scan datadetermined to overlap. Another type of objective mathematical criterionmay involve a matching of multiple features identified on the object.For example, such features might be the edge transitions 114, 116, and118 shown in FIG. 10. The mathematical criterion may involve processingof the raw data provided by the 2D scanner 50 to the controller 86, orit may involve a first intermediate level of processing in whichfeatures are represented as a collection of line segments using methodsthat are known in the art, for example, methods based on the IterativeClosest Point (ICP). Such a method based on ICP is described in Censi,A., “An ICP variant using a point-to-line metric,” IEEE InternationalConference on Robotics and Automation (ICRA) 2008, which is incorporatedby reference herein.

In an embodiment, assuming that the plane 51 of the light beam from 2Dscanner 50 remains horizontal relative to the ground plane, the firsttranslation value is dx, the second translation value is dy, and thefirst rotation value dθ. If the first scan data is collected with the 2Dscanner 50 having translational and rotational coordinates (in areference coordinate system) of (x₁, y₁, θ₁), then when the second 2Dscan data is collected at a second location the coordinates are given by(x₂, y₂, θ₂)=(x₁+dx, y₁+dy, θ₁+dθ). In an embodiment, the controller 86is further configured to determine a third translation value (forexample, dz) and a second and third rotation values (for example, pitchand roll). The third translation value, second rotation value, and thirdrotation value may be determined based at least in part on readings fromthe IMU 74.

The 2D scanner 50 collects 2D scan data starting at the first position104 and more 2D scan data at the second position 106. In some cases,these scans may suffice to determine the position and orientation of thesystem 30 at the second position 106 relative to the first position 104.In other cases, the two sets of 2D scan data are not sufficient toenable the controller 86 to accurately determine the first translationvalue, the second translation value, and the first rotation value. Thisproblem may be avoided by collecting 2D scan data at intermediate scanpositions 108. In an embodiment, the 2D scan data is collected andprocessed at regular intervals, for example, once per second. In thisway, features in the environment are identified in successive 2D scansat positions 108. In an embodiment, when more than two 2D scans areobtained, the controller 86 may use the information from all thesuccessive 2D scans in determining the translation and rotation valuesin moving from the first position 104 to the second position 106. Inanother embodiment, only the first and last scans in the finalcalculation, simply using the intermediate 2D scans to ensure propercorrespondence of matching features. In most cases, accuracy of matchingis improved by incorporating information from multiple successive 2Dscans.

It should be appreciated that as the system 30 is moved beyond thesecond position 106, a two-dimensional image or map of the environmentbeing scanned may be generated.

FIG. 13 depicts the system 30 coupled with an image capture device forgenerating an augmented reality map of the environment according to oneor more embodiments. In one or more examples, the image capture device105 is a portable computing device such as a mobile phone, a tabletcomputer, a camera, a media device, or any other such electronic device.The image capture device 105 includes a camera 101 for capturing one ormore images, which may be captured in a continuous, periodic oraperiodic manner. As used herein, the “continuous” capture of imagesrefers to the acquisition of images at a predetermined or desired framerate, such as 60 frames per second (fps) or 30 fps for example. In oneembodiment, the frame rate may be user selectable. Further, the imagecapture device 105 includes a display device 103, such as a screen.Elements displayed on the display device 103 may be interacted with bythe operator, for example via a touch screen, or any other input device.The image capture device 105 includes other components such as one ormore processors, sensors, I/O devices, communications circuits (e.g.cellular, Ethernet, WiFi, BLUETOOTH™ and near-field) and the like, whichare not shown.

The image capture device 105 is coupled with the system 30 using amounting support 35. The mounting support 35 facilitates the imagecapture device 105 to be mounted in a stable position relative to thelaser projector 31 in the system 30. In one or more examples, therelative position of the image capture device 105 and the system 30 isfixed and predetermined. In an embodiment, the position of the imagecapture device includes a linear spatial relationship (X, Y, Z) and therotational or angular spatial relationship to the 2D scanner. The linearand angular relationship may also be referred to as the “pose” of theimage capture device 105 to the 2D scanner. In one embodiment, theangular relationship of the image capture device 105 includes apredetermined angle relative to the plane 51.

The 2D scanner 50 continuously creates a 2D map of its environment asdescribed herein using the incoming data from the laser range finder 31and the IMU. The system 30 further facilitates the image capture device105 to use its display 103 to visualize and interact with the 2D scanner50. Further, the system 30 facilitates the operator to augment the 2Dmap of the environment using the image capture device 105. In one ormore examples, the image capture device 105 and the 2D scannercommunicate with each other via cable or wirelessly (e.g. BLUETOOTH™,WLAN™, etc.).

By having the image capture device 105 mounted in a stable positionrelative to the laser range finder 31 in the 2D scanner 50, the 2D laserdata from the 2D scanner is calibrated (FIGS. 14 and 15) with theposition sensors on the image capture device 105, enabling the mergingor fusion of the data coming from both, the 2D scanner 50 and the imagecapture device 105.

FIG. 14 and FIG. 15 depict overlapping FOVs of the 2D scanner and imagecapture device of the system according to one or more embodiments. TheFOV 110 of the 2D scanner 50 overlaps with a FOV 105A of the imagecapture device 105. FIG. 14 depicts a top-view while FIG. 15 depicts aside-view of an example scenario with the overlapping FOVs 110 and 105A.Based on the relative position of the two devices, the system 30calculates the coordinates of the laser readings from the laserprojector 31 in the camera 101 coordinate system and vice versa. Thiscalculation may be referred to as calibrating the image capture device105 and the 2D scanner 50. The calibration is based on the relativeposition of the image capture device 105 and the scanner 50, includingthe angle at which the image capture device 105 is mounted with thescanner 50. The angle may be predetermined based on the mounting portprovided by the scanner 50. Using the calibrated pair of devices, thesystem 30 facilitates the operator to interact with fused data generatedfrom the data captured by each device, the 2D scanner 50 and the imagecapture device 105, independently. For example, the system providesaugmented reality (AR) interactivity to the operator via the display 103to facilitate the operator to interact with the point clouds captured bythe 2D scanner 50 via a live stream of the visual capture from the imagecapture device 105. In one or more examples, the interactivity includesthe operator augmenting the 2D map, for example with notes, images, andthe like. Alternatively, or in addition, the interactivity may includeidentifying one or more shapes/objects in the 2D map by marking one ormore boundaries within the stream captured by the image capture device105. Further, the interactivity can include taking measurements of theone or more shapes/objects identified in the 2D map.

Referring now to FIG. 16, a method 120 is shown for generating atwo-dimensional map with AR annotations according to one or moreembodiments. The method 120 starts in block 122 where the facility orarea is scanned to acquire scan data 130, such as that shown in FIG. 17.The scanning is performed by carrying the system 30 through the area tobe scanned. The system 30 measures distances from the system 30 to anobject, such as a wall for example, and also a pose of the system 30 inan embodiment the user interacts with the system 30 via actuator 38. Theimage capture device 105 provides the user interface that allows theoperator to initiate the functions and control methods described herein.In an embodiment, the camera 101 continuously captures imagessimultaneously with the acquisition of the 2D data by the 2D scanner.Using the registration process desired herein, the two dimensionallocations of the measured points on the scanned objects (e.g. walls,doors, windows, cubicles, file cabinets etc.) may be determined. It isnoted that the initial scan data may include artifacts, such as datathat extends through a window 132 or an open door 134 for example.Therefore, the scan data 130 may include additional information that isnot desired in a 2D map or layout of the scanned area.

The method 120 then proceeds to block 124 where a 2D map 136 isgenerated of the scanned area as shown in FIG. 18. The generated 2D map136 represents a scan of the area, such as in the form of a floor planwithout the artifacts of the initial scan data. It should be appreciatedthat the 2D map 136 may be utilized directly by an architect, interiordesigner or construction contractor as it represents a dimensionallyaccurate representation of the scanned area. In the embodiment of FIG.16, the method 120 then proceeds to block 126 where user-definedannotations are made to the 2D maps 136 to define an annotated 2D map138 (FIG. 19 and FIG. 20) that includes information, such as dimensionsof features 140, the location of doors 142, the relative positions ofobjects (e.g. liquid oxygen tanks 144, entrances/exits or egresses 146or other notable features such as but not limited to the location ofautomated sprinkler systesm (“AS”), knox or key boxes (“K”), or firedepartment connection points (“FDC”). In some geographic regions, publicsafety services such as fire departments may keep records of building orfacility layouts for use in case of an emergency as an aid to the publicsafety personnel in responding to an event. It should be appreciatedthat these annotations may be advantageous in alerting the public safetypersonnel to potential issues they may encounter when entering thefacility, and also allow them to quickly locate egress locations.

It should be appreciated that while embodiments described herein mayrefer to the annotations as being defined after the scanning process iscomplete, this is for exemplary purposes and the claims should not be solimited. In other embodiments, the annotation data is defined by theoperated during the scanning process, such as through a user input viadisplay 103.

FIG. 21 depicts a flowchart of an example method 400 for annotating the2D map using augmented reality via the image capture device according toone or more embodiments. The method 400 includes calibrating the 2Dscanner 50 and image capture device 105 at 402. The calibration includesmapping the coordinates of the 2D scanner 50 and the image capturedevice 105 using the predetermined relative position of the two devices.Consequently, all coordinates can be transferred in both directions. Themethod further includes capturing a 2D scan of the environment using the2D scanner 50 at 404. Further, the method includes capturing images ofthe environment using the image capture device 105 at 406. It should benoted that the 2D scanner 50 and the image capture device 105 capturerespective data in a continuous manner

The method further includes displaying the captured images on thedisplay 103 of the image capture device 105 with an interactive markerat 408 (FIG. 22A-FIG. 22D). The interactive marker may be pointer, suchas a laser crosshair, an arrow, a circle, a triangle, or any other shapeor image that the operator can move and use for selection via the I/0devices of the image capture device 105, such as a touch screen. Uponreceiving a selection from the operator of one or more points on thedisplay 103, the points represented by the marker, the system 30determines distance measurements corresponding to the selected points at412. The marker on the screen represents a laser beam from the 2Dscanner 50 and the distance measurement of the point in the image thatis marked by the marker is taken from the 2D laser scanner data. As bothdevices are calibrated to each other the system can determine thecorresponding laser beam that returns the measurement for the point. Thesystem 30 thus facilitates combining the usability of the image capturedisplay with the higher accuracy of the measurement from the 2D scanner50. In an embodiment, the determination of the distance to the selectedpoints is based at least in part on the distance measured by the 2Dscanner 50 (e.g. a distance from the system 30 to a wall) and the imageacquired by image capture device 105, using photogrammetry techniques.

Further, if the operator selects multiple points on the display 103, thesystem 30 records multiple measurements and generates one or morepolygons out of the selected points. Furthermore, the system 30automatically calculates one or more geometric values for theenvironment based on the one or more distance measurements, for examplean area of the polygons. The system 30 displays the information on thedisplay 103. This allows for marking objects like doors, windows etc.(FIG. 22).

For example, as shown in an example scenario in FIG. 22A-FIG. 22D, theoperator marks corners 420 of an object, such as a door 425. Theoperator marks the corners using the marker 422, such as the crosshairshown. The system 30 identifies the points in the scanned data from the2D scanner 50 corresponding to the corners marked in the images of thelive stream. The corresponding points are determined based on thecalibration. Further, the system 30 can generate a polygon 427 thatconnects the selected points. The polygon is generated using thecorresponding points in the 2D scanned data, and transformed to thecoordinates of the image capture device 105. The generated polygon 427is displayed on the image capture device 105.

It should be noted that the example scenario depicts a door beingselected and marked, however in other examples different objects such aswindows, decor, fire extinguisher, first aid kit 107 (FIG. 23), or anyother object can be marked 109 and identified. Further, the geometricvalues for the objects can be calculated based on the correspondingpoints in the 2D scanned data.

The selections, the calculated geometric values can be saved as theannotations for the 2D map. Further, in one or more examples, theoperator can further embellish the annotations, for example by addingmore details, such as text/images 111, changing the typeface, color, andother attributes of the annotations.

Referring back to FIG. 16, once the annotations of the 2D annotated map138 are completed, the method 120 then proceeds to block 128 where the2D annotated map 138 is stored in memory, such as nonvolatile memory 80for example. The 2D annotated map 138 may also be stored in a networkaccessible storage device or server so that it may be accessed by thedesired personnel. Storing the annotated 2D map 138 includestransforming the added information for the annotations, like text,pictures etc. into the coordinate system of the 2D scanner 50. Thetransformed information is then saved as a selectable position in the 2Dmap 138 so that in response to the operator selecting the annotation ata later time when viewing the 2D map 138, the annotation is displayedwith a pointer marking the selected position in the 2D map 138. FIG. 23shows such an example. The one or more embodiments of the presentinvention thus facilitate the operator to mark one or more objectsdirectly in the live video stream on the image capture device 105 andoverlay a marker and an annotation, which may include a hyperlink thatopens further information. Vice versa the operator can click on objectsin the video stream, add information like text pictures etc. Suchannotations are transformed back in the 2D scanner coordinate system andsaved as a position in the 2D map 138 generated by the 2D scanner 50.

In another embodiment, the stored 2D annotated map is transferred to amobile computing device, such as a cellular phone or tablet computer forexample. The user of the cellular phone may then move through thescanned environment and view annotation data (e.g. annotation markers109, text 111) overlaid on the display of the mobile computing device.In an embodiment, the mobile computing device localizes the currentposition of the mobile computing device to the environment using the 2Dannotated map data to perform feature recognition, such as by usingMonte Carlo localization methods.

Referring now to FIG. 24, another method 150 is shown for generating a2D map or layout. In this embodiment, the method 150 starts in block 152with the operator initiating the scanning of an area or facility withthe system 30 as described herein. The method 150 then proceeds to block154 wherein the operator acquires images with the image capture device105 during the scanning process. Alternatively, or in addition, theimages may be acquired by a camera located in a mobile computing device(e.g. personal digital assistant, cellular phone, tablet or laptop)carried by the operator for example. In block 154, the operator mayfurther record notes. These notes may be audio notes or sounds recordedby a microphone in the mobile computing device. These notes may furtherbe textual notes input using a keyboard on the mobile computing device.It should be appreciated that the acquiring of images and recording ofnotes may be performed simultaneously, such as when the operatoracquires a video. In an embodiment, the recording of the images or notesmay be performed using a software application executed on a processor ofthe image capture device. The software application may be configured tocommunicate with the system 30, such as by a wired or wireless (e.g.BLUETOOTH™) connection for example, to transmit the acquired images orrecorded notes to the system 30. In one embodiment, the operator mayinitiate the image acquisition by actuating actuator 38 that causes thesoftware application to transition to an image acquisition mode.Alternatively, or in addition, operator may initiate the imageacquisition using a button, a gesture, or any other type of userinterface on the image capture device 105. The images captured may bedisplayed as a live video stream on the display 103 of the image capturedevice 105 as the 2D scanner 50 captures the corresponding point clouds.

The method 150 then proceeds to block 156 where the images and notes arestored in memory, such as memory 80 for example. In an embodiment, thedata on the pose of the system 30 is stored with the images and notes.In still another embodiment, the time or the location of the system 30when the images are acquired or notes were recorded is also stored. Oncethe scanning of the area or facility is completed, the method 150 thenproceeds to block 158 where the 2D map 164 (FIG. 19) is generated asdescribed herein. The method then proceeds to block 160 where anannotated 2D map 166 is generated. The annotated 2D map 166 may includeuser-defined annotations, such as dimensions 140 or room size 178described herein above with respect to FIG. 15. The annotations mayfurther include user-defined free-form text or hyperlinks for example.Further, in the exemplary embodiment, the acquired images 168 from aseparate camera and recorded notes are integrated into the annotated 2Dmap 166. In an embodiment, the image annotations are positioned to theside of the 2D map 164 if an image was acquired or a note recorded. Itshould be appreciated that the images allow the operator to provideinformation to the map user on the location of objects, obstructions andstructures, such as but not limited to fire extinguisher 172, barrier174 and counter/desk 176 for example. Finally, the method 300 proceedsto block 162 where the annotated map is stored in memory.

While embodiments herein describe the generation of the 2D map dataafter the scan is completed, this is for exemplary purposes and theclaims should not be so limited. In other embodiments, the 2D map isgenerated during the scanning process as the 2D data is acquired.

It should be appreciated that the image or note annotations may beadvantageous in embodiments where the annotated 2D map 166 is generatedfor public safety personnel, such as a fire fighter for example. Theimages allow the fire fighter to anticipate obstructions that may not beseen in the limited visibility conditions such as during a fire in thefacility. The image or note annotations may further be advantageous inpolice or criminal investigations for documenting a crime scene andallow the investigator to make contemporaneous notes on what they findwhile performing the scan.

Referring now to FIG. 26, another method 180 is shown of generating a 2Dmap having annotation that include 3D coordinates of objects within thescanned area. The method 180 begins in block 182 with the operatorscanning the area. During the scanning process, the operator may see anobject, such as evidence 191 (FIG. 27) or equipment 193 (FIG. 28) forexample, that the operator may desire to locate more precisely withinthe 2D map or acquire additional information. In an embodiment, thesystem 30 includes a laser projector 76 (FIG. 9) that the operator mayactivate. The laser projector 76 emits a visible beam of light thatallows the operator to see the direction the system 76 is pointing. Oncethe operator locates the light beam from laser projector 76 on thedesired object, the method 180 proceeds to block 186 where thecoordinates of the spot on the object of interest are determined. In oneor more examples, the spot that the light beam is on is marked using themarker 422 in the live stream displayed on the image capture device 105.In one embodiment, the coordinates of the object are determined by firstdetermining a distance from system 30 to the object. In an embodiment,this distance may be determined by a 3D camera 60 (FIG. 9) for example.In addition to the distance, the 3D camera 60 also may acquire an imageof the object. Based on knowing the distance along with the pose of thesystem 30, the coordinates of the object may be determined. The method180 then proceeds to block 188 where the information (e.g. coordinatesand image) of the object are stored in memory.

It should be appreciate that in some embodiments, the operator maydesire to obtain a three-dimensional (3D) representation of the objectof interest in addition to the location relative to the 2D map. In thisembodiment, the method 180 proceeds to scanning block 190 and acquires3D coordinates of points on the object of interest. In an embodiment,the object is scanned with the 3D camera 60 in block 192. The system 30then proceeds to determine the 3D coordinates of points on the surfaceof the object or interest in block 194. In an embodiment, the 3Dcoordinates may be determined by determining the pose of the system 30when the image is acquired by the 3D camera. The pose information alongwith the distances and a registration of the images acquired by the 3Dcamera may allow the generation of a 3D point cloud of the object ofinterest. In one embodiment, the orientation of the object of interestrelative to the environment is also determined from the acquired images.This orientation information may also be stored and later used toaccurately represent the object of interest on the 2D map. The method180 then proceeds to block 196 where the 3D coordinate data is stored inmemory.

The method 180 then proceeds to block 198 where the 2D map 204 (FIG. 27,FIG. 28) is generated as described herein. In an embodiment, thelocation of the objects of interest (determined in blocks 184-186) aredisplayed on the 2D map 204 as a symbol 206, such as a small circle forexample. It should be appreciated that the 2D map 204 may includeadditional user-defined annotations added in block 200, such as thosedescribed herein with reference to FIG. 21 and FIG. 24. The 2D map 204and the annotations are then stored in block 202.

In use, the map user may select one of the symbols, such as symbol 206or symbol 208 for example. In response, an image of the object ofinterest 191, 193 may be displayed. Where the object or interest 191,193 was scanned to obtain 3D coordinates of the object, the 3Drepresentation of the object of interest 191, 193 may be displayed.

Referring now to FIG. 29 and FIG. 30, an embodiment of a mobile mappingsystem 250 is shown that includes a 2D scanner 30 and a 3D measurementdevice 252. In the exemplary embodiment, the 2D scanner 30 is the system30 described herein with respect to FIGS. 1-7 and the 3D measurementdevice 252 is a laser scanner 252. The laser scanner 252 may be atime-of-flight type scanner such as the laser scanner described incommonly owned U.S. Pat. No. 8,705,016, the contents of which areincorporated by reference herein.

The laser scanner 252 has a measuring head 254 and a base 256. Themeasuring head 254 is mounted on the base 256 such that the laserscanner 252 may be rotated about a vertical axis (e.g. an axis extendingperpendicular to the surface upon with the laser scanner 252 sits). Inone embodiment, the measuring head 254 includes a gimbal point that is acenter of rotation about the vertical axis and a horizontal axis. Themeasuring head 254 has a rotary mirror 258, which may be rotated aboutthe horizontal axis. The rotation about the vertical axis may be aboutthe center of the base 24. In the exemplary embodiment, the verticalaxis and the horizontal axis are perpendicular to each other. The termsazimuth axis and zenith axis may be substituted for the terms verticalaxis and horizontal axis, respectively. The term pan axis or standingaxis may also be used as an alternative to vertical axis.

The measuring head 254 is further provided with an electromagneticradiation emitter, such as light emitter 260, for example, that emits anemitted light beam 30. In one embodiment, the emitted light beam is acoherent light beam such as a laser beam. The laser beam may have awavelength range of approximately 300 to 1600 nanometers, for example790 nanometers, 905 nanometers, 1550 nm, or less than 400 nanometers. Itshould be appreciated that other electromagnetic radiation beams havinggreater or smaller wavelengths may also be used. The emitted light beamis amplitude or intensity modulated, for example, with a sinusoidalwaveform or with a rectangular waveform. The emitted light beam isemitted by the light emitter 260 onto the rotary mirror 258, where it isdeflected to the environment. A reflected light beam is reflected fromthe environment by an object (e.g. a surface in the environment). Thereflected or scattered light is intercepted by the rotary mirror 258 anddirected into a light receiver 262. The directions of the emitted lightbeam and the reflected light beam result from the angular positions ofthe rotary mirror 258 and the measuring head 254 about the vertical andhorizontal axes, respectively. These angular positions in turn depend onthe corresponding rotary drives or motors.

Coupled to the light emitter 260 and the light receiver 262 is acontroller 264. The controller 264 determines, for a multitude ofmeasuring points, a corresponding number of distances between the laserscanner 252 and the points on object. The distance to a particular pointis determined based at least in part on the speed of light in airthrough which electromagnetic radiation propagates from the device tothe object point. In one embodiment the phase shift of modulation inlight emitted by the laser scanner 20 and the point is determined andevaluated to obtain a measured distance.

The controller 264 may include a processor system that has one or moreprocessing elements. It should be appreciated that while the controller264 is illustrated as being integral with the housing of the laserscanner 252, in other embodiments, the processor system may bedistributed between a local processor, an external computer, and acloud-based computer. The processors may be microprocessors, fieldprogrammable gate arrays (FPGAs), digital signal processors (DSPs), andgenerally any device capable of performing computing functions. The oneor more processors have access to memory for storing information. In anembodiment the controller 264 represents one or more processorsdistributed throughout the laser scanner 252.

The controller 264 may also include communications circuits, such as anIEEE 802.11 (Wi-Fi) module that allows the controller 264 to communicatethrough the network connection, such as with a remote computer, a cloudbased computer, the 2D scanner 30 or other laser scanners 252.

The speed of light in air depends on the properties of the air such asthe air temperature, barometric pressure, relative humidity, andconcentration of carbon dioxide. Such air properties influence the indexof refraction n of the air. The speed of light in air is equal to thespeed of light in vacuum c divided by the index of refraction. In otherwords, C_(air)=c/n. A laser scanner of the type discussed herein isbased on the time-of-flight (TOF) of the light in the air (theround-trip time for the light to travel from the device to the objectand back to the device). Examples of TOF scanners include scanners thatmeasure round trip time using the time interval between emitted andreturning pulses (pulsed TOF scanners), scanners that modulate lightsinusoidally and measure phase shift of the returning light (phase-basedscanners), as well as many other types. A method of measuring distancebased on the time-of-flight of light depends on the speed of light inair and is therefore easily distinguished from methods of measuringdistance based on triangulation. Triangulation-based methods involveprojecting light from a light source along a particular direction andthen intercepting the light on a camera pixel along a particulardirection. By knowing the distance between the camera and the projectorand by matching a projected angle with a received angle, the method oftriangulation enables the distance to the object to be determined basedon one known length and two known angles of a triangle. The method oftriangulation, therefore, does not directly depend on the speed of lightin air.

The measuring head 254 may include a display device 266 integrated intothe laser scanner 252. The display device 266 may include a graphicaltouch screen, as shown in FIG. 29, which allows the operator to set theparameters or initiate the operation of the laser scanner 252. Forexample, the screen may have a user interface that allows the operatorto provide measurement instructions to the device, and the screen mayalso display measurement results.

In an embodiment, the base 256 is coupled to a swivel assembly (notshown) such as that described in commonly owned U.S. Pat. No. 8,705,012,which is incorporated by reference herein. The swivel assembly is housedwithin the carrying structure and includes a motor that is configured torotate the measuring head 254 about the vertical axis.

In the exemplary embodiment, the base 256 is mounted on a frame 268,such as a tripod for example. The frame 268 may include a movableplatform 270 that includes a plurality of wheels 272. As will bedescribed in more detail herein, the movable platform 270 allow thelaser scanner 252 to be quickly and easily moved about the environmentthat is being scanned, typically along a floor that is approximatelyhorizontal. In an embodiment, the wheels 272 may be locked in placeusing wheel brakes as is known in the art. In another embodiment, thewheels 272 are retractable, enabling the tripod to sit stably on threefeet attached to the tripod. In another embodiment, the tripod has nowheels but is simply pushed or pulled along a surface that isapproximately horizontal, for example, a floor. In another embodiment,the optional moveable platform 270 is a wheeled cart that may be handpushed/pulled or motorized.

In this embodiment, the 2D scanner 30 and the laser scanner 252 eachhave a position indicator 274, 276 respectively. The position indicatorsmay be a radio frequency identification system (RFID), a near fieldcommunications system, a magnetic switch system, a feature or keyingarrangement or a machine readable indicia system. The positionindicators 274, 276, when engaged, allow the system 250 to determine andrecord the position of the 2D scanner 30 relative to the laser scanner252. Once the 2D scanner 30 is registered relative to the laser scanner252, the 2D coordinate measurement data acquired by the 2D scanner 30may be transformed from a local coordinate frame of reference to a laserscanner coordinate frame of reference. It should be appreciated thatthis allows the combining of the coordinate data from the 2D scanner 30and the laser scanner 252.

Referring now to FIG. 31, with continuing reference to FIG. 30, anembodiment is shown of the system 250 using near field communications(NFC) for the position indicators 272, 274. A near field communicationssystem typically consists of a tag 276 and a reader 278. The tag 276 andreader 278 are typically coupled to separate devices or objects and whenbrought within a predetermined distance of each other, cooperate totransfer data therebetween. It should be appreciated that whileembodiments herein describe the tag 276 as being mounted within orcoupled to the body of the 2D scanner 30 and the reader 278 as beingdisposed within the housing of the laser scanner 252, this is forexemplary purposes and the claims should not be so limited. In otherembodiments, the arrangement of the tag 276 and reader 278 may bereversed.

As used herein, the term “near field communications” refers to acommunications system that allows for a wireless communications betweentwo devices over a short or close range, typically less than 5 inches(127 millimeters). NFC further provides advantages in thatcommunications may be established and data exchanged between the NFC tag276 and the reader 278 without the NFC tag 276 having a power sourcesuch as a battery. To provide the electrical power for operation of theNFC tag 276, the reader 278 emits a radio frequency (RF) field (theOperating Field). Once the NFC tag 276 is moved within the operatingfield, the NFC tag 276 and reader 278 are inductively coupled, causingcurrent flow through an NFC tag antenna. The generation of electricalcurrent via inductive coupling provides the electrical power to operatethe NFC tag 276 and establish communication between the tag and reader,such as through load modulation of the Operating Field by the NFC tag276. The modulation may be direct modulation, frequency-shift keying(FSK) modulation or phase modulation, for example. In one embodiment,the transmission frequency of the communication is 13.56 megahertz witha data rate of 106-424 kilobits per second.

In an embodiment, the 2D scanner 30 includes a position indicator 272that includes the NFC tag 276. The NFC tag 276 may be coupled at apredetermined location of the body of the 2D scanner 30. In anembodiment, the NFC tag 276 is coupled to the side of the 2D scanner 30to facilitate the operator 280 placing the NFC tag 276 adjacent thelaser scanner 252 (FIG. 30). In an embodiment, the NFC tag 276 iscoupled to communicate with the processor 78. In other embodiments, theNFC tag 276 is a passive device that is not electrically coupled toother components of the 2D scanner 30. In the exemplary embodiment, theNFC tag 276 includes data stored thereon, the data may include but isnot limited to identification data that allows the 2D scanner 30 to beuniquely identified (e.g. a serial number) or a communications addressthat allows the laser scanner 252 to connect for communications with the2D scanner 30.

In one embodiment, the NFC tag 276 includes a logic circuit that mayinclude one or more logical circuits for executing one or more functionsor steps in response to a signal from an antenna. It should beappreciated that logic circuit may be any type of circuit (digital oranalog) that is capable of performing one or more steps or functions inresponse to the signal from the antenna. In one embodiment, the logiccircuit may further be coupled to one or more tag memory devicesconfigured to store information that may be accessed by logic circuit.NFC tags may be configured to read and write many times from memory(read/write mode) or may be configured to write only once and read manytimes from tag memory (card emulation mode). For example, where onlystatic instrument configuration data is stored in tag memory, the NFCtag may be configured in card emulation mode to transmit theconfiguration data in response to the reader 278 being brought withinrange of the tag antenna.

In addition to the circuits/components discussed above, in oneembodiment the NFC tag 276 may also include a power rectifier/regulatorcircuit, a clock extractor circuit, and a modulator circuit. Theoperating field induces a small alternating current (AC) in the antennawhen the reader 278 is brought within range of the tag 276. The powerrectifier and regulator converts the AC to stable DC and uses it topower the NFC tag 276, which immediately “wakes up” or initiatesoperation. The clock extractor separates the clock pulses from theoperating field and uses the pulses to synchronize the logic, memory,and modulator sections of the NFC tag 276 with the NFC reader 278. Thelogic circuit separates the 1's and 0's from the operating field andcompares the data stream with its internal logic to determine whatresponse, if any, is required. If the logic circuit determines that thedata stream is valid, it accesses the memory section for stored data.The logic circuit encodes the data using the clock extractor pulses. Theencoded data stream is input into the modulator section. The modulatormixes the data stream with the operating field by electronicallyadjusting the reflectivity of the antenna at the data stream rate.Electronically adjusting the antenna characteristics to reflect RF isreferred to as backscatter. Backscatter is a commonly used modulationscheme for modulating data on to an RF carrier. In this method ofmodulation, the tag coil (load) is shunted depending on the bit sequencereceived. This in turn modulates the RF carrier amplitude. The NFCreader detects the changes in the modulated carrier and recovers thedata.

In an embodiment, the NFC tag 276 is a dual-interface NFC tag, such asM24SR series NFC tags manufactured by ST Microelectronics N.V. forexample. A dual-interface memory device includes a wireless port thatcommunicates with an external NFC reader, and a wired port that connectsthe device with another circuit, such as processor 78. The wired portmay be coupled to transmit and receive signals from the processor 78 forexample. In another embodiment, the NFC tag 276 is a single port NFCtag, such as MIFARE Classic Series manufactured by NXP Semiconductors.With a single port tag, the tag 276 is not electrically coupled to theprocessor 78.

It should be appreciated that while embodiments herein disclose theoperation of the NFC tag 276 in a passive mode, meaning aninitiator/reader device provides an operating field and the NFC tag 276responds by modulating the existing field, this is for exemplarypurposes and the claimed invention should not be so limited. In otherembodiments, the NFC tag 276 may operate in an active mode, meaning thatthe NFC tag 276 and the reader 278 may each generate their own operatingfield. In an active mode, communication is performed by the NFC tag 276and reader 278 alternately generating an operating field. When one ofthe NFC tag and reader device is waiting for data, its operating fieldis deactivated. In an active mode of operation, both the NFC tag and thereader device may have its own power supply.

In an embodiment, the reader 278 is disposed within the housing of thelaser scanner 252. The reader 278 includes, or is coupled to aprocessor, such as processor 264 coupled to one or more memory modules282. The processor 264 may include one or more logical circuits forexecuting computer instructions. Coupled to the processor 560 is an NFCradio 284. The NFC radio 284 includes a transmitter 286 that transmitsan RF field (the operating field) that induces electric current in theNFC tag 276. Where the NFC tag 276 operates in a read/write mode, thetransmitter 286 may be configured to transmit signals, such as commandsor data for example, to the NFC tag 276.

The NFC radio 284 may further include a receiver 288. The receiver 288is configured to receive signals from, or detect load modulation of, theoperating field by the NFC tag 276 and to transmit signals to theprocessor 264. Further, while the transmitter 286 and receiver 288 areillustrated as separate circuits, this is for exemplary purposes and theclaimed invention should not be so limited. In other embodiments, thetransmitter 286 and receiver 284 may be integrated into a single module.The antennas being configured to transmit and receive signals in the13.56 megahertz frequency.

As is discussed in more detail herein, when the 2D scanner 30 ispositioned relative to the laser scanner 252, the tag 276 may beactivated by the reader 278. Thus the position of the 2D scanner 30relative to the laser scanner 252 will be generally known due to theshort transmission distances provided by NFC. It should be appreciatedthat since the position of the tag 276 is known, and the position of thereader 278 is known, this allows the transforming of coordinates in the2D scanner coordinate frame of reference into the laser scannercoordinate frame of reference (e.g. the reference frame having an originat the gimbal location 290).

Terms such as processor, controller, computer, DSP, FPGA are understoodin this document to mean a computing device that may be located withinthe system 30 instrument, distributed in multiple elements throughoutthe system, or placed external to the system (e.g. a mobile computingdevice).

Referring now to FIGS. 32-33, with continuing reference to FIGS. 29-31,a method 300 is shown of the operation of the system 250. The method 300begins in block 302 with the laser scanner 252 performing a scan at afirst position. During the scan at the first position (location “1” ofFIG. 32), the laser scanner 252 acquires 3D coordinates for a firstplurality of points on surfaces in the environment being scanned. Themethod 300 then proceeds to block 304 where the 2D scanner 30 is movedadjacent the laser scanner 252 such that the position indicator 272engages the position indicator 274. In the embodiment of FIG. 31, theplacement of the tag 276 within range of the reader 278 allows data tobe transferred from the 2D scanner 30 to the laser scanner 252. In anembodiment, the transferred data includes an identification data of the2D scanner 30. This registers the position and orientation of the 2Dscanner 30 relative to the laser scanner 252 at the first position. Oncethe 2D scanner 30 is registered to the laser scanner 252, the method 300then proceeds to block 306 where the 2D scanner 30 is activates. In oneembodiment, the 2D scanner 30 is automatically activated by theregistration, such as via a signal from the laser scanner communicationscircuit 308 to the 2D scanner communications circuit 92 or via NFC. Inan embodiment, the 2D scanner 30 continuously scans until the laserscanner 252 and the 2D scanner 30 are registered a second time.

In block 306, the operator 280 scans the environment by moving the 2Dscanner 30 along a path 312. The 2D scanner acquires 2D coordinate dataof the environment as it is moved along the path 312 in the mannerdescribed herein with respect to FIGS. 10-13 with the movement of the 2Dscanner being determined based on IMU 74 (FIG. 9). It should beappreciated that the 2D coordinate data is generated in a localcoordinate frame of reference of the 2D scanner 30.

The method 300 then proceeds to block 310 where the laser scanner 252 ismoved from the first position to a second position (e.g. location “2” ofFIG. 32). The method 300 then proceeds to block 314 where a second scanof the environment is performed by the laser scanner 252 to acquire the3D coordinates of a second plurality of points on surfaces in theenvironment being scanned. Based at least in part on the first pluralityof points acquired in the first scan by laser scanner 252 in block 302and the second plurality of points acquired in the second scan by laserscanner 252 in block 314, a correspondence between registration targetsmay be determined. In the exemplary embodiment, the registration targetsare based on natural features in the environment that are common to boththe first and second plurality of points. In other embodiments,artificial targets may be manually placed in the environment for use inregistration. In an embodiment, a combination of natural features andartificial targets are used for registration targets.

It should be appreciated that once the registration targets areidentified, the location of the laser scanner 252 (and the origin of thelaser scanner frame of reference, e.g. gimbal point 290) in the secondposition relative to the first position is known with a high level ofaccuracy. In an embodiment, the accuracy of the laser scanner 252between the first position and the second position may be between 1 mm-6cm depending on the environment. In an embodiment, a registered 3Dcollection of points is generated based on a correspondence amongregistration targets, the 3D coordinates of the first collection ofpoints, and the 3D coordinates of the second collection of points.

The method 300 then proceeds to block 316 where the 2D scanner 30 isonce again moved adjacent the laser scanner 252 (now in the secondposition) to engage the position indicator 272 and position indicator274. The engagement of the position indicators 272, 274, registers theposition and orientation of the 2D scanner 30 relative to the laserscanner 252. In an embodiment, this second registration of the 2Dscanner 30 causes the 2D scanner 30 to stop scanning In an embodiment,blocks 314, 316 are reversed and the registration of the 2D scanner 30causes the laser scanner to automatically perform the second scan ofblock 314.

With the 2D scanner 30 registered, the method 300 then proceeds to block318 where the 2D coordinate data acquired by 2D scanner 30 istransferred. In an embodiment, the 2D coordinate data is transferred. Inone embodiment, the 2D coordinate data is transferred to the laserscanner 30. In another embodiment, the 2D coordinate data is transferredto one or more external or remotely located computers along with theregistered 3D collection of points.

The method 300 then proceeds to block 320 where the transferred 2Dcoordinate data is transformed from the 2D scanner local coordinateframe of reference to the laser scanner coordinate frame of reference.It should be appreciated that with the 2D coordinate data in the laserscanner coordinate frame of reference, the 2D coordinate data may beadjusted as the initial position (e.g. the first position of laserscanner 252) and the final position (e.g. the second position of laserscanner 252) are known with a high degree of accuracy. This providesadvantages in improving the accuracy of the 2D coordinate data with theflexibility of a hand held 2D scanner.

With the 2D coordinate data transformed into the laser scannercoordinate frame of reference, the method 300 then proceeds to block 322where a 2D map of the environment is generated based at least in part onthe transformed 2D coordinate data and the registered 3D collection ofpoints. It should be appreciated that in some embodiments, the method300 may then loop back to block 306 and additional scanning isperformed. The scan performed by the laser scanner at the secondposition then becomes the effective first position for the subsequentexecution of method 300. It should further be appreciated that while themethod 300 is shown as a series of sequential steps, in otherembodiments, some of the blocks of method 300 may be performed inparallel.

The term “about” is intended to include the degree of error associatedwith measurement of the particular quantity based upon the equipmentavailable at the time of filing the application. For example, “about”can include a range of ±8% or 5%, or 2% of a given value.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, element components,and/or groups thereof.

While the invention has been described in detail in connection with onlya limited number of embodiments, it should be readily understood thatthe invention is not limited to such disclosed embodiments. Rather, theinvention can be modified to incorporate any number of variations,alterations, substitutions or equivalent arrangements not heretoforedescribed, but which are commensurate with the spirit and scope of theinvention. Additionally, while various embodiments of the invention havebeen described, it is to be understood that aspects of the invention mayinclude only some of the described embodiments. Accordingly, theinvention is not to be seen as limited by the foregoing description, butis only limited by the scope of the appended claims.

What is claimed is:
 1. A system of generating a two-dimensional (2D) mapof an environment, the system comprising: a housing having a body and ahandle, the housing being sized to be carried by a single person duringoperation, the body having a first plane extending therethrough; a 2Dscanner disposed in the body and having a light source, an image sensorand a controller, the light source steers a beam of light within thefirst plane to illuminate object points in the environment, the imagesensor is arranged to receive light reflected from the object points,the controller being operable to determine a first distance value to atleast one of the object points; an image capture device positioned at afixed position with respect to the 2D scanner, a first field of view ofthe image capture device overlapping at least a portion of a secondfield of view of the 2D scanner; and one or more processors operablycoupled to the 2D scanner and the image capture device, the one or moreprocessors being responsive to executable instructions for generating a2D map of the environment, the one or more processors configured to:display a live video stream of the first field of view as captured bythe image capture device; receive, from a user, a selection of aplurality of display points in the live video stream, wherein thedisplay points that are selected in the live video stream correspond toan object in the environment, and wherein a display point from theplurality of display points represents an object point from the object;record 2D coordinates for each display point from the plurality ofdisplay points; generate a 3D point cloud of the object by determining3D coordinates of the object point corresponding to each respectivedisplay point from the plurality of display points that is selected;generate a 2D polygon using the 2D coordinates to represent the objectand display, overlaying the live video stream, the 2D polygon and the 3Dpoint cloud.
 2. The system of claim 1, further comprising an inertialmeasurement unit disposed in the housing and having a three-dimensionalaccelerometer and a three-dimension gyroscope, the inertial measurementunit monitoring position and orientation of the system.
 3. The system ofclaim 1, further comprising a laser projector coupled to the body, thelaser projector having a second light source that emits in operation avisible beam of light in a second plane parallel to the first plane, andwherein the one or more processors are further configured to: display amarker overlaid on the live video stream, the marker representing thebeam of light.
 4. The system of claim 1, wherein the one or moreprocessors are further configured to: receive an annotation from theuser, the annotation to be associated with an object point in theenvironment; and store the annotation in association with the objectpoint.
 5. The system of claim 4, wherein the object point is associatedwith a first set of coordinates, and the one or more processors arefurther configured to: transform the first set of coordinates to asecond set of coordinates in a point cloud captured by the 2D scanner;and store the annotation in association with the second set ofcoordinates.
 6. The system of claim 4, wherein the annotation isdisplayed at a display point associated with the object point byrendering an overlay on the live video stream, the overlay comprising apointer to the object point and the annotation.
 7. The system of claim4, wherein the annotation comprises at least one from a group comprisingtext, picture, 3D object scan, and hyperlink.
 8. The system of claim 1,further comprising a three-dimensional camera disposed in the body, thethree-dimensional camera being operably coupled to the one or moreprocessors.
 9. A method for generating a two-dimensional (2D) image ofan environment, the method comprising: obtaining, by a 2D scanner of ameasurement device, a 2D scan set comprising 2D coordinates of points inthe environment, the 2D scanner is configured to sweep a beam of lightin a plane; capturing and displaying, by a portable computing device ofthe measurement device, a live video stream of a field of view of themeasurement device, the portable computing device being fixed at arelative position with respect to the 2D scanner; displaying, on adisplay of the portable computing device, a selection marker overlaid onthe live video stream, a display point corresponding to the selectionmarker is selected in response to a selection input, and the displaypoint corresponding to an object point in the environment; projecting,by a projector of the measurement device, a beam of visible light on theobject point in the field of view from the environment; receiving, viathe portable computing device, a selection of a plurality of displaypoints that is corresponding to a plurality of object points that forman object in the environment, the display points having respective 2Dcoordinates; in response to the selection, generating an overlay for theobject, generating the overlay comprises: generating a 3D point cloud ofthe object; and associating the 3D point cloud with a first object pointof the object; storing the overlay in association with the 2Dcoordinates of the first object point; and generating a 2D image of theenvironment based at least in part on the 2D scan, the 2D imageincluding the overlay at the 2D coordinates of the first object point.10. The method of claim 9, further comprising: determining, by aninertial measurement unit, movement and orientation of the measurementdevice, which are used for generating the 2D image.
 11. The method ofclaim 10, wherein obtaining the 2D scan set comprises obtaining aplurality of 2D scan sets at a corresponding plurality of registrationpositions in the environment, and combining the 2D scan sets forgenerating the 2D image.
 12. The method of claim 9, further comprising:measuring a distance from the measurement device to the object pointusing a three-dimensional camera coupled to the measurement device; andstoring the annotation in association with the 2D coordinates of thefirst object point is based at least in part on the distance.
 13. Themethod of claim 12, wherein the 3D point cloud of the object is a first3D point cloud, and the method further comprises: generating a second 3Dpoint cloud of at least a portion of the environment; aligning the first3D point cloud of the object in the second 3D point cloud using theposition of the object in the 2D image; and merging the second 3D pointcloud into the 2D image.
 14. The method of claim 12, wherein the 3Dpoint cloud of the object is a first 3D point cloud, and the methodfurther comprises: scanning an area about the first object point withthe three-dimensional camera; determining a scanning position andorientation of the measurement device when the area is being scanned;generating a second 3D point cloud of the area; and annotating the 2Dimage to include a linkage to the second 3D point cloud of the area, theannotation being positioned in the 2D image in a position correspondingto the position of the object in the area.
 15. The method of claim 9,wherein the annotating of the 2D image further includes receiving anannotation selected from a group comprising photos, videos, sounds,text, and hyperlinks.
 16. The method of claim 15, wherein the annotationis acquired by the portable computing device.
 17. A system forgenerating an augmented reality view of an environment, the systemcomprising one or more processors configured to: receive, from a 2Dscanner, a 2D scan set of a field of view of the system, the 2D scan setcomprising 2D coordinates of points in the environment; receive, from aportable computing device, a live video stream of the field of view;calibrate a first coordinate system of the 2D scan set with a secondcoordinate system of the live video stream; receive, from a user, aselection of a plurality of video-points in the live video stream,wherein the video-points that are selected in the live video streamcorrespond to an object in the environment, and wherein a video-pointfrom the plurality of display points represents an object point from theobject; record 2D coordinates for each video-point from the plurality ofvideo-points; generate a 3D point cloud of the object by determining 3Dcoordinates of the object point corresponding to each respective displaypoint from the plurality of display points that is selected; generate a2D polygon using the 2D coordinates to represent the object; anddisplay, overlaying the live video stream, the 2D polygon and the 3Dpoint cloud.
 18. The system of claim 17, wherein the first coordinatesystem is calibrated with the second coordinate system based on a fixedposition of the portable computing device with respect to the 2Dscanner.
 19. The system of claim 18, wherein the fixed position isdetermined by a mounting port between the 2D scanner and the portablecomputing device.